package w15;

public class S08 {
	//n 个人(编号 1~n)围成一圈，从 1 开始报数，数到 3 的人从圈中退出，
	//然后从下个人,再从 1 开始继续报数，求退出顺序。
	public static void main(String[] args) {
		int n=10; //8人围城一圈
		boolean[] existed=new boolean[n];
		int index=-1;
		for(int i=0;i<n;++i) {//每次循环退出一人
			for(int j=0;j<3;) {
				++index;
				if(index==n)index=0;
				if(!existed[index])++j;//没有退出才算是一次有效的报数
			}
			existed[index]=true;//退出
			System.out.printf("%d ",index+1);
		}
	}
}
